widget: Query CSS values later in size_allocate
authorTimm Bäder <mail@baedert.org>
Tue, 27 Nov 2018 05:00:30 +0000 (06:00 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 27 Nov 2018 05:00:30 +0000 (06:00 +0100)
Move it below the "this widget only changed its position" check.

gtk/gtkwidget.c

index a05bc068cccf5ac11b1d892f4b1a78aa72e0a8b6..755b7fea2cfbb8470576694da3e41224c278953e 100644 (file)
@@ -4128,11 +4128,6 @@ gtk_widget_size_allocate (GtkWidget           *widget,
   priv->allocated_size = *allocation;
   priv->allocated_size_baseline = baseline;
 
-  style = gtk_css_node_get_style (priv->cssnode);
-  get_box_margin (style, &margin);
-  get_box_border (style, &border);
-  get_box_padding (style, &padding);
-
   adjusted_allocation = real_allocation;
   if (gtk_widget_get_request_mode (widget) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH)
     {
@@ -4245,6 +4240,11 @@ gtk_widget_size_allocate (GtkWidget           *widget,
       goto check_clip;
     }
 
+  style = gtk_css_node_get_style (priv->cssnode);
+  get_box_margin (style, &margin);
+  get_box_border (style, &border);
+  get_box_padding (style, &padding);
+
   /* Since gtk_widget_measure does it for us, we can be sure here that
    * the given alloaction is large enough for the css margin/bordder/padding */
   real_allocation.x = 0;